+2000-04-14 Tor Lillqvist <tml@iki.fi>
+
+ * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
+ gtk_private_n_signals variables, they are used by some software,
+ sigh.
+
+ * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
+ installation directory from the Registry, where the installer
+ should have put it.
+
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
+2000-04-14 Tor Lillqvist <tml@iki.fi>
+
+ * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
+ gtk_private_n_signals variables, they are used by some software,
+ sigh.
+
+ * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
+ installation directory from the Registry, where the installer
+ should have put it.
+
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
+2000-04-14 Tor Lillqvist <tml@iki.fi>
+
+ * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
+ gtk_private_n_signals variables, they are used by some software,
+ sigh.
+
+ * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
+ installation directory from the Registry, where the installer
+ should have put it.
+
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
+2000-04-14 Tor Lillqvist <tml@iki.fi>
+
+ * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
+ gtk_private_n_signals variables, they are used by some software,
+ sigh.
+
+ * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
+ installation directory from the Registry, where the installer
+ should have put it.
+
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
+2000-04-14 Tor Lillqvist <tml@iki.fi>
+
+ * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
+ gtk_private_n_signals variables, they are used by some software,
+ sigh.
+
+ * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
+ installation directory from the Registry, where the installer
+ should have put it.
+
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
+2000-04-14 Tor Lillqvist <tml@iki.fi>
+
+ * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
+ gtk_private_n_signals variables, they are used by some software,
+ sigh.
+
+ * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
+ installation directory from the Registry, where the installer
+ should have put it.
+
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
+2000-04-14 Tor Lillqvist <tml@iki.fi>
+
+ * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
+ gtk_private_n_signals variables, they are used by some software,
+ sigh.
+
+ * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
+ installation directory from the Registry, where the installer
+ should have put it.
+
Fri Apr 7 17:19:27 2000 Owen Taylor <otaylor@redhat.com>
* gdk/x11/Makefile.am: Fix problem with installation directory for
gchar *
get_gtk_sysconf_directory (void)
{
+ static gboolean been_here = FALSE;
static gchar gtk_sysconf_dir[200];
gchar win_dir[100];
+ HKEY reg_key = NULL;
+ DWORD type;
+ DWORD nbytes = sizeof (gtk_sysconf_dir);
+
+ if (been_here)
+ return gtk_sysconf_dir;
+
+ been_here = TRUE;
+
+ if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, "Software\\GNU\\GTk+", 0,
+ KEY_QUERY_VALUE, ®_key) != ERROR_SUCCESS
+ || RegQueryValueEx (reg_key, "InstallationDirectory", 0,
+ &type, gtk_sysconf_dir, &nbytes) != ERROR_SUCCESS
+ || type != REG_SZ)
+ {
+ /* Uh oh. Use the old hard-coded %WinDir%\GTk+ value */
+ GetWindowsDirectory (win_dir, sizeof (win_dir));
+ sprintf (gtk_sysconf_dir, "%s\\gtk+", win_dir);
+ }
+
+ if (reg_key != NULL)
+ RegCloseKey (reg_key);
- GetWindowsDirectory (win_dir, sizeof (win_dir));
- sprintf (gtk_sysconf_dir, "%s\\gtk+", win_dir);
return gtk_sysconf_dir;
}
static gchar *
get_themes_directory (void)
{
- /* We really should fetch this from the Registry. The GIMP
- * installation program stores the Themes installation
- * directory in HKLM\Software\GNU\GTk+\Themes\InstallDirectory.
- * Later.
- */
static gchar themes_dir[200];
sprintf (themes_dir, "%s\\themes", get_gtk_sysconf_directory ());
static guint gtk_handler_id = 1;
static guint gtk_handler_quark = 0;
static GHashTable *gtk_signal_hash_table = NULL;
- GtkSignal *_gtk_private_signals = NULL;
- guint _gtk_private_n_signals = 0;
+#ifdef G_OS_WIN32
+#define EXPORT __declspec(dllexport)
+#else
+#define EXPORT
+#endif
+EXPORT GtkSignal *_gtk_private_signals = NULL;
+EXPORT guint _gtk_private_n_signals = 0;
static GMemChunk *gtk_signal_hash_mem_chunk = NULL;
static GMemChunk *gtk_disconnect_info_mem_chunk = NULL;
static GtkHandler *gtk_handler_free_list = NULL;